<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>

    <script>

        // await  等待    必须在async函数中使用

        //    await 可以是任意的表达式

        //    await  一般是等待一个异步的结果   是一个成功的结果



        // 让异步变得跟同步一样   --- 最终的解决方案



        // async 单独使用的时候，函数依然是同步的   只是返回了promise实例的成功结果

        // async 和 await 一起使用的时候   
        //   整个函数是异步的
        //   换来的结果  函数内部的代码是同步的


        const p = new Promise((resolve , reject) => {
            setTimeout(() => {
                resolve(8) ;
            },1000)
        })

        async function fn() {
            const res = await p ;    // 程序在此处进行等待  p出来了结果 后面才会继续执行
            console.log(res);  

            console.log(666);
        }

        fn()



        console.log(9999);

    </script>
    
</body>
</html>